-- @Author: 作者QQ2308873645
-- @Date:   2021-11-27 13:12:31
-- @Last Modified by:   作者QQ381990860
-- @Last Modified time: 2022-07-18 01:08:41
local ffi = require("ffi")

function 取文件夹的所有名 (path)
  local z={}
  for file in lfs.dir(path) do
    if file ~= "." and file ~= ".." then
      local f = path..'/'..file
      local attr = lfs.attributes (f)
      assert (type(attr) == "table")
      if attr.mode == "directory" then
         z[#z+1]=file
        -- print(file)
        -- print(f)
      end
    end
  end
  return z
end

function 加载内充数据()
    内充组={}
    local z=取文件夹的所有名 (ServerDirectory..[[\自动充值]])
    for i=1,#z do
        内充组[z[i]]=true
    end
end
加载内充数据()
function 内充系统类_CDK兑换(id,内容)

  local a =nil
  for n, v in pairs(内充组) do
      local c = os.remove(ServerDirectory..[[\自动充值\]]..n..[[\]]..内容..[[.txt]])
      if c then
          local x = 分割文本(n, "-")
          if x[1]=="银子" then
             角色处理类:添加银子(玩家数据[id],tonumber(x[3]), "充值")
          elseif x[1]=="仙玉" then
             角色处理类:添加仙玉(玩家数据[id],tonumber(x[3]),"充值"..x[2].."元"..x[1])
          elseif x[1]=="抽奖" then
             玩家数据[id].角色.抽奖 = 玩家数据[id].角色.抽奖 + tonumber(x[3])
          elseif x[1]=="月卡" then
            if 玩家数据[id].角色.VIP月卡 == nil then
               玩家数据[id].角色.VIP月卡={次数=0,领取=0}
            end
            玩家数据[id].角色.VIP月卡.次数 = 玩家数据[id].角色.VIP月卡.次数 + tonumber(x[3])
            角色处理类:刷新VIP系统(玩家数据[id])
          elseif x[1]=="抓鬼" then
            if 玩家数据[id].角色.自动抓鬼 == nil then
               玩家数据[id].角色.自动抓鬼={次数=0,开启=false,总计=0}
            end
            玩家数据[id].角色.自动抓鬼.次数 = 玩家数据[id].角色.自动抓鬼.次数 + tonumber(x[3])
            角色处理类:刷新自动抓鬼数据(玩家数据[id])
          end
          if x[4]~=nil then
              玩家数据[id].角色.vip.充值=玩家数据[id].角色.vip.充值+x[4]
              角色处理类:刷新VIP系统(玩家数据[id])
              -- 内充系统类_是否升级VIP(id)
          end
          --if x[5]~=nil then
          --   内充系统类_设置首冲(id)
         -- end
        内充系统类_充值数据(id,"账号："..玩家数据[id].账号.."-id:"..id.."-充值 "..x[2].."元 "..x[1].." 卡号:"..内容)
        发送数据(玩家数据[id].连接id, 7, "#y/充值成功！")
        return 0
      end
  end
  if a==nil then
    if 玩家数据[id].角色.CDK错误次数==nil then
      玩家数据[id].角色.CDK错误次数 = 0
    end
    玩家数据[id].角色.CDK错误次数 = 玩家数据[id].角色.CDK错误次数 +1
    if 玩家数据[id].角色.CDK错误次数 >=20 then
      封禁账号(玩家数据[id],"CDK")
    end
    发送数据(玩家数据[id].连接id, 7, "#y/CDK无效或已经被兑换")
  else
        if 玩家数据[id].角色.CDK错误次数==nil then
          玩家数据[id].角色.CDK错误次数 = 0
        end
        玩家数据[id].角色.CDK错误次数 = 0
  end
end

function 内充系统类_充值数据(id,内容,类型)
  if not file_exists([[玩家信息/账号]]..玩家数据[id].账号..[[/充值记录.txt]]) then
    WriteFile([[玩家信息\账号]]..玩家数据[id].账号..[[\充值记录.txt]],table.tostring({}))
  end
  充值记录=ReadFile([[玩家信息/账号]] ..玩家数据[id].账号.. [[/充值记录.txt]])
  充值记录 =充值记录.."\n"..os.date("[%Y年%m月%d日%X]:")..内容
  WriteFile([[玩家信息/账号]] ..玩家数据[id].账号.. [[/充值记录.txt]], 充值记录)
  充值记录2=ReadFile([[自动充值/]] .. [[充值记录.txt]])
  充值记录2 =充值记录2.."\n"..os.date("[%Y年%m月%d日%X]:")..内容
  WriteFile([[自动充值/]] .. [[充值记录.txt]], 充值记录2)
end

-- function 内充系统类_竞技币充值数据(id,内容,余额)
--        local 充值记录=读入文件("自动充值/竞技币充值记录.txt")
--        写出文件("自动充值/竞技币充值记录.txt",充值记录.."\n"..玩家数据[id].账号.."----"..内容.."---"..余额)
-- end

-- function 内充系统类_是否升级VIP(id)

--   if 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V10")+0 then
--      玩家数据[id].角色.数据.VIP.VIP=10
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V9")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=9
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V8")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=8
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V7")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=7
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V6")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=6
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V5")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=5
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V4")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=4
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V3")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=3
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V2")+0  then
--      玩家数据[id].角色.数据.VIP.VIP=2
--   elseif 玩家数据[id].角色.数据.VIP.VIP值>=f函数.读配置(程序目录..[[自动充值\充值设置.ini]], "主要配置", "V1") +0 then
--      玩家数据[id].角色.数据.VIP.VIP=1
--   end
-- end
-- function 内充系统类_设置首冲(id)

--   if 玩家数据[id].角色.数据.首冲==nil then
--      玩家数据[id].角色.数据.首冲={日期=0,是否=0}
--   end
--   if 玩家数据[id].角色.数据.首冲.是否~=os.date("%d") then
--      玩家数据[id].角色.数据.首冲.是否=os.date("%d")
--   end
-- end
